home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-15
/
atmem10.zip
/
ATMEM.DOC
< prev
next >
Wrap
Text File
|
1992-08-01
|
5KB
|
143 lines
ATMEM v1.0, 1 august 1992
=========================
by Charles Vachon
BAD NEWS : THIS SOFTWARE IS NOT PUBLIC DOMAIN!
GOOD NEWS: THIS SOFTWARE IS FREEWARE!
YOU CAN:
- USE THIS SOFTWARE WITHOUT RESTRICTION FOR NON-PROFIT PURPOSES
- DISTRIBUTE THIS SOFTWARE, PROVIDED THAT IT IS BEING DISTRIBUTED IN
IT'S ORIGINAL, COMPLETE FORMAT, COMPRISED OF:
- ATMEM.EXE, THE EXECUTABLE ITSELF
- ATMEM.DAT, A SAMPLE DATA FILE
- ATMEM.DOC, THIS DOCUMENTATION
- C000.EXE, A COMPLIMENTARY EXECUTABLE
YOU CAN NOT:
- HOLD THE AUTHOR OF THIS SOFTWARE RESPONSIBLE FOR ANY LOSS RELATED TO
THE DIRECT OR INDIRECT USE OF THIS SOFTWARE
- MODIFY THE PROGRAM OR IT'S DOCUMENTATION
ATMEM Raison d'être:
As a network administrator, I am facing the ever increasing variety of
hardware installed in the workstations. My goal is to provide users with a
consistent menu interface, regardless of the hardware they use. Here, we
have various utilities to report on the CPU type, screen type, memory
available, etc... of the PCs on which they are run. We had one need that has
not been satisfied as yet, however. Specifically, we need to know what
**kind** of video adapter is installed in a PC, in order to call the right
video driver in our network batch files. I never found such an utility, so I
wrote it! Here is ATMEM!
How it works?
In order to know what to look for and what to report, ATMEM uses a text file
that contains all instructions. The file can be named as you like, since the
name is passed as the FIRST PARAMETER on the command-line. Provided in this
package is an example file named ATMEM.DAT, reproduced here:
ATMEM VERSION 1.0 DATA FILE
VBOARD=UNKNOWN
$C000 $0035 VBOARD=PAR256 003056-007COPYRIGHT PARADISE
$C000 $002D VBOARD=PAR1024 PARADISE003145-110
<EOF>
Here's the meaning of these lines:
The first one, ATMEM VERSION 1.0 DATA FILE, allows the executable to
recognize that this file is really an ATMEM data file. The presence of
this line is mandatory.
The second line, VBOARD=UNKNOWN, tells ATMEM what it should report in the
case that no data lines (to be explained below) matched the PC's memory.
This line will be written as a SET command in a batch file, whose
complete name is specified as the SECOND PARAMETER on the command line
(optional).
Next come the data lines. There has to be at least one if you want ATMEM to
do something useful, and there can be as many as you like. The format of a
data line is:
The first string (blank delimited) represents the segment of memory to
search. It has to be a positive integer either in decimal or hex
notation. In the latter case, a $ sign must precede the number. Valid
examples are: 49152 $C000.
The second string is the offset of memory to search. The same syntax rules
apply as for the segment address.
The third string (blank delimited, so no embedded blanks are allowed in
this string) contains the string to write as the SET command in the batch
file if the id string (to be explained) matches memory at the address
given by segment:offset. Please note that the part of the string is case-
sensitive (being a SET value).
The rest of the line, from the fourth string up, is the id string. It is
the data that ATMEM will try to match against memory. Please notice that
this string is case-sensitive, and that embedded blanks are significant to
ATMEM, that is they will be used in comparisons as any regular characters.
Then comes the end of the file. Don't place the <EOF> in your file, it's
just a representation of the end of file, not text that has a special
meaning.
For example:
In the example file above, the batch file created by ATMEM would look like
SET VBOARD=PAR1024
if the PC's memory at $C000:$002D contained the string PARADISE003145-110
and it would look like
SET VBOARD=UNKNOWN
if none of the data lines matched the PC's memory.
Notes:
- The command-line syntax for ATMEM is:
ATMEM data_file batch_filespec
If no parameter is passed, ATMEM will display a help screen.
If no batch file spec is passed to ATMEM, it will simply write to
the standard output (redirectable).
- ATMEM reports on it's abormal termination with self-explanatory error
messages, and an errorlevel of 1 (0 on normal completion).
- The data lines are all read into memory before the lines are compared
against memory.
- The lines are processed sequentially, and processing stops at the
first data line that matches the memory contents.
- WHAT A CHEAPO WAY TO WRITE TO ENVIRONMENT some will say! Yes, it's less
elegant than writing directly in the environment. As a defense I will say
"This one works regardless of the DOS version you use (even **future**
versions)" and "It's much faster for me to code it like this".
- What about C000.EXE? It's just a small utility i wrote that dumps the
first 256 characters at address hex C000:0000 in a file named C000.DAT. I
helped us sorting the various VGA BIOSes in our machines.
- This program was created to help identify VGA video boards but as you
should no, you can test ANY memory location against a list of choices, so
it may be useful for other purposes than originally designed for.
Comments:
Please send comments/suggestions to:
Charles Vachon
170 De Bray
Bernières, Quebec, Canada
G7A 1T3
internet: CVACHON@VM1.ULAVAL.CA